#include "stringutils.h"
#include <QJsonDocument>

namespace yc {
namespace stringutils {

QString toString(const QRect& rect)
{
    return QString("%1,%2,%3,%4")
            .arg(rect.left())
            .arg(rect.top())
            .arg(rect.width())
            .arg(rect.height());
}

QRect toRect(const QString& s)
{
    QStringList sl = s.split(",");
    if (sl.size() >= 4) {
        return QRect(sl.at(0).toInt(), sl.at(1).toInt(), sl.at(2).toInt(), sl.at(3).toInt());
    }
    return QRect();
}

QString jsonToString(const QJsonObject& jo)
{
    QJsonDocument doc(jo);
    return doc.toJson(QJsonDocument::Compact);
}

QJsonObject stringToJson(const QString& json)
{
    QJsonParseError error;
    QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8(), &error);
    QJsonObject jo = doc.object();
    return jo;
}

} // namespace stringutils
} // namespace yc
